package org.codefaces.ui.internal.wizards; import org.codefaces.core.models.RepoFolder; import org.codefaces.core.models.RepoWorkspace; import org.codefaces.ui.internal.CodeFacesUIActivator; import org.codefaces.ui.internal.views.ProjectExplorerViewPart; import org.codefaces.ui.wizards.RepoSettings; import org.codefaces.ui.wizards.RepositorySettingsPage; import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.jface.wizard.Wizard; import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; public class ImportRepoWizard extends Wizard { private static final String WINDOW_TITLE = "Import Repository"; private RepoSettings settings; public ImportRepoWizard() { super(); setNeedsProgressMonitor(true); setWindowTitle(WINDOW_TITLE); settings = new RepoSettings(); } @Override public void addPages() { addPage(new RepositorySettingsPage(settings)); addPage(new RepositoryResourcePage(settings)); } @Override public boolean performFinish() { Assert.isNotNull(settings.get(RepoSettings.REPO_RESOURCE_INPUT)); RepoFolder baseDirectory = (RepoFolder) getRepoSettings().get( RepoSettings.REPO_RESOURCE_INPUT); if (baseDirectory != null) { try { PlatformUI.getWorkbench().getActiveWorkbenchWindow() .getActivePage().showView(ProjectExplorerViewPart.ID); RepoWorkspace.getCurrent().createProject(baseDirectory); } catch (PartInitException e) { IStatus status = new Status(Status.ERROR, CodeFacesUIActivator.PLUGIN_ID, "Errors occurs when openning view " + ProjectExplorerViewPart.ID, e); CodeFacesUIActivator.getDefault().getLog().log(status); } } return true; } public RepoSettings getRepoSettings() { return settings; } }